package com.hspedu.outputstream;

import org.junit.jupiter.api.Test;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @Author Stringzhua
 * @Date 2024/3/16 14:44
 * description:演示使用fileoutputstream写文件,将数据写入文件中
 * 如果文件不存在,则创建该文件
 */
public class FileoutputStream01 {
    public static void main(String[] args) {

    }

    @Test
    public void writeFile() {
        //创建FileOutputStream流对象
//        String filePath = "e:\\a.txt";
        String filePath = "e:\\qiyeke\\filecontroller\\hsp.txt";
        FileOutputStream fileOutputStream = null;
        try {
            //得到fileOutputStream对象
            /*
            * 1.new FileOutputStream(filePath); 创建方式,当写入内容,会覆盖原来的数据
            * 2.new FileOutputStream(filePath,true); 创建方式,当写入内容,会追加到文件的后面
            * */
//            fileOutputStream = new FileOutputStream(filePath);
            fileOutputStream = new FileOutputStream(filePath,true);
            //write方法 1.写入一个字节
//            fileOutputStream.write('H');//char-->int
            //2.写入字符串
//            String str="hello,world";
            //str.getBytes() 可以将字符串转成字符数组
//            fileOutputStream.write(str.getBytes());
            /*
            write(byte[] b,int off,int len)
            3.将len字节从位于偏移量off的指定字节数组写入到此文件输出流
            * */
//            fileOutputStream.write(str.getBytes(),0,str.length());
            String str="hsp";
            fileOutputStream.write(str.getBytes(),0,3);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
